package com.xiangdao.dao;

import com.xiangdao.model.ShareProduct;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

@Mapper
public interface ShareProductDao {

    String TABLE_NAME = "share_product";
    String INSERT_FIELDS = "price,title,message,time,user_id";
    String SELECT_FIELDS = "id,price,title,message,time,user_id";

    /**
     * 插入一条共享物品记录
     *
     * @param product
     * @return int
     */
    int addProduct(ShareProduct product);

    /**
     * 根据id删除一条产品记录
     *
     * @param id
     */
    void deleteProductById(@Param("id") Integer id);


    /**
     * 获得所有物品
     *
     * @return List<Topic>
     */
    ArrayList<ShareProduct> findAllProduct();

    void updateProduct(@Param("messageNum")Integer messageNum,@Param("productId")Integer productId);

    /**
     * 分页查询
     * @param start
     * @param pageSize
     * @param title
     * @return
     */
    ArrayList<ShareProduct> getAllShareProductByPage (int start, int pageSize, String title);

    /**
     * 获取总共享物品数
     * @param title
     * @return
     */
    int getShareProductTotal(@Param("title") String title);

    /**
     * 根据标题进行模糊查询
     * @param title
     * @return
     */
    ArrayList<ShareProduct> selectAllShareProduct(@Param("title") String title);

    ArrayList<ShareProduct> selectTopEightShareProduct(@Param("title") String title);

    ShareProduct findShareProductById(@Param("id") Integer id);

    ArrayList<ShareProduct> findAllProductByPrice();


}
